<html>
  <head>
    <meta charset="utf-8" />
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>2019 年终总结 | Jiang</title>
<link rel="shortcut icon" href="https://cherrylover.github.io/favicon.ico?v=1601447716515">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<link rel="stylesheet" href="https://cherrylover.github.io/styles/main.css">

<script src="https://cdn.bootcss.com/highlight.js/9.12.0/highlight.min.js"></script>
<script src="https://cdn.bootcss.com/moment.js/2.23.0/moment.min.js"></script>


<script async src="https://www.googletagmanager.com/gtag/js?id=UA-143284233-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-143284233-1');
</script>

  </head>
  <body>
    <div class="main">
      <div class="main-content">
        <div class="site-header">
  <a href="https://cherrylover.github.io">
  <img class="avatar" src="https://cherrylover.github.io/images/avatar.png?v=1601447716515" alt="">
  </a>
  <h1 class="site-title">
    Jiang
  </h1>
  <p class="site-description">
    我允许你走进我的世界，但不许你在我的世界里走来走去。
  </p>
  <div class="menu-container">
    
      
        <a href="/" class="menu">
          首页
        </a>
      
    
      
        <a href="/archives" class="menu">
          归档
        </a>
      
    
      
        <a href="/tags" class="menu">
          标签
        </a>
      
    
      
        <a href="https://cherrylover.github.io/post/guan-yu-wo/" class="menu">
          关于
        </a>
      
    
  </div>
  <div class="social-container">
    
      
        <a href="https://github.com/CherryLover" target="_blank">
          <i class="fab fa-github"></i>
        </a>
      
    
      
    
      
        <a href="https://juejin.im/user/576d73cd0a2b58006a09ad87" target="_blank">
          <i class="fab fa-weibo"></i>
        </a>
      
    
      
    
      
    
  </div>
</div>

      
        <div class="post-detail">
          <article class="post">
            <h2 class="post-title">
              2019 年终总结
            </h2>
            <div class="post-info">
              <time class="post-time">
                · 2019-12-31 ·
              </time>
              
                <a href="https://cherrylover.github.io/tag/LYcJOzbpX/" class="post-tags">
                  # 总结
                </a>
              
            </div>
            
              <div class="post-feature-image" style="background-image: url('https://monster-image-backup.oss-cn-shanghai.aliyuncs.com/picgo/20191231221228.jpg')">
              </div>
            
            <div class="post-content">
              <p>前两天被楼下的两棵树圈粉了，图片来给你们看一下。</p>
<figure data-type="image" tabindex="1"><img src="https://monster-image-backup.oss-cn-shanghai.aliyuncs.com/20191230151456.jpeg" alt="" loading="lazy"></figure>
<figure data-type="image" tabindex="2"><img src="https://monster-image-backup.oss-cn-shanghai.aliyuncs.com/20191230151457.jpeg" alt="" loading="lazy"></figure>
<p>起初我觉得冬天不好，万物凋零，然后发现这两棵树看起来比一年中任何时候都好看。</p>
<p>我是 17 年 11 月真正入行做 Android 开发的，到现在刚好 2 年多点，找工作的时候大家都说不好找，经济寒冬。兴许是老天想赏我口饭吃，不怎么费力气就找到了一份还不错的工作。</p>
<p>从那时起就一直有人在说经济不景气之类的话，我也没深刻的感受到，更多时候觉得跟自己没多大关系。</p>
<p>也不知道是为什么在年末的两个月内公司换老板了，也换了办公地点。换完之后明显感觉到公司在压缩成本，就在前两天公司人事被约谈人员优化，我心想看来不是冬天没来，而是我刚被「冻醒」。</p>
<p>既然这个冬天这么冷，我们该怎么办呢？我是这么做的。</p>
<h2 id="开发">开发</h2>
<p>在过去的一年里，我接触到了 Kotlin、Jetpack、Gradle 等这些新技术，同时也在为团队开发一些基础库。</p>
<h3 id="kotlin">Kotlin</h3>
<p>Kotlin 在我上大学的时候就听人说过，一直觉得不温不火，直到今年的 I/O 上，Google 宣布 Kotlin 成为 Android 开发的第一语言之后，大量的示例代码都开始拥抱 Kotlin。我也开始了我的 Kotlin 之路。</p>
<p>起初的目的很简单，只是为了能看懂别人写的 Kotlin 代码，慢慢的自己也加入到使用 Kotlin 的队伍中，现在公司的项目中也是 Java 与 Kotlin 混合开发。</p>
<h3 id="jetpack">Jetpack</h3>
<p>Jetpack 是 Google 推出的一系列组件库。其中每一个单独的组件都解决了其所在领域的一些问题，比如 ViewModel 解决了多内容的统一数据保存、Navigation 解决了 Fragment 之间的负责的导航问题。</p>
<p>我最早使用的是 Navigation，起初我是想用 Navigation 替换掉现有的 <a href="https://github.com/JingYeoh/FragmentRigger">FragmentRigger</a>，但随着使用的深入，我发现 Navigation 要想直接接入到项目中还有一段路程要走，还需要我做些额外的工作，这是与其他库所不同的。</p>
<p>我在查阅了较多的资料后发现 Navigation 是 Google 提供给开发者的一个组件，但似乎 Google 并不想让开发者局限于这个组件，而是提供了丰富的可扩展的 API 让开发者发现它的更多使用方法。</p>
<h3 id="gradle">Gradle</h3>
<p>最早从 Eclipse 迁移至 Android Studio 时，看到 build.gradle 真的是头大，在很长的一段时间内不敢碰它。生怕它把我「搞死」，不过在今年下半年我把它「搞死」了。我从 Gradle 基础开始，到 Gradle 的构建过程、Gradle 生命周期以及 Gradle 插件。一步步过关斩将，以后再也不怕了。</p>
<p>最后我还做了一个 Gradle 插件用在公司的项目中，也算是实践一把。</p>
<h2 id="个人成长">个人成长</h2>
<p>2019 年我在个人成长方面也有所进步，初步形成了知识管理、任务管理的基本概念，但目前都还是属于初级阶段，尚不能影响什么具体的东西，还需要一定的时间进行沉淀。</p>
<p>知识管理方面，我开始建立起属于自己的知识库，通过不断更新自己的知识库，对知识库中的内容进行不断的深入及内化，形成总结，进行输出，最后在个人知识体系中进行结束。在一个完整的知识管理闭环中，我真正体会到了学习的快乐，那种充实自己知识体系的愉悦是我之前所不曾拥有的。</p>
<p>之前总是觉得自己的生活可以过的更好一点，但丝毫没有什么好的解决方法。直到我接触到 GTD 任务管理法，通过对所有任务建立起统一处理方式，明晰不同任务之间的差异，对任务进行分门别类，有计划有规划的做事情。明确高效工作的目的不是为了完成所有的任务，而是为了更好的生活。好像突然之间少了很多事情，但也没有少做什么事。</p>
<p>回顾 2020，我发现我还是少做了不少，还留有些许遗憾。马上就要到 2020 年了，希望能在下一年不给自己留遗憾。加油~</p>
<p>封面图：Photo by <a href="https://unsplash.com/@judebeck?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Jude Beck</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></p>

            </div>
          </article>
        </div>
    
        
          <div class="next-post">
            <div class="next">下一篇</div>
            <a href="https://cherrylover.github.io/post/kgKwL3Z6V/">
              <h3 class="post-title">
                从注解到 ButterKnife
              </h3>
            </a>
          </div>  
        

        
          
            <link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>

<div id="gitalk-container"></div>

<script>

  var gitalk = new Gitalk({
    clientID: 'f5cc70d7d50fba65cf69',
    clientSecret: '1d018e38ce9cdd399682bdd76690decfef00a051',
    repo: 'CherryLover.github.io',
    owner: 'CherryLover',
    admin: ['CherryLover'],
    id: location.pathname,      // Ensure uniqueness and length less than 50
    distractionFreeMode: false  // Facebook-like distraction free mode
  })

  gitalk.render('gitalk-container')

</script>

          

          
        
    
        <div class="site-footer">
  Powered by <a href="https://github.com/getgridea/gridea" target="_blank">Gridea</a>
</div>

<script>
  hljs.initHighlightingOnLoad()
</script>

      </div>
    </div>
  </body>
</html>
